#include <stdio.h>

typedef struct
{
    char    id[16]  ;//学生账号 
    int        total ;    //综合成绩 
    int        ce ;    //机试成绩 
    int        ws ;    //加权成绩 
}STUDENT;

void Sort(STUDENT a[],int size) ; 
void Swap(STUDENT * s1,STUDENT * s2) ;
int  Comp(STUDENT * s1,STUDENT * s2) ;

int main()
{
    STUDENT    stu[100] ;
    int        i , n ;


    scanf("%d",&n) ;
    for(i=0;i<n;i++)
    {
        scanf("%s%d%d",stu[i].id,&stu[i].ce,&stu[i].ws) ;
        stu[i].total = stu[i].ce+stu[i].ws ;
    }

    Sort(stu,n) ;
    for(i=0;i<n;i++)
        printf("%s %d %d %d\n",stu[i].id,stu[i].total,stu[i].ce,stu[i].ws) ;

    return 0;    
}

void Sort(STUDENT a[],int size)
{
    for(int i=0;i<size;i++)
     for(int j=0;j<size;j++)
     {
         if(Comp(&a[i],&a[j])==1)
         {
             Swap(&a[i],&a[j]);
         }
     }
}

int  Comp(STUDENT * s1,STUDENT * s2)
{
    if(s1->total==s2->total)
    {
        if((s1->ce)>(s2->ce)) return 1;
        else return 0;
    }
    else if((s1->total)>(s2->total)) return 1;
    else return 0;
}

void Swap(STUDENT * s1,STUDENT * s2)//后面两个函数在题目里不用实现。。。呃呃呃其实是分成了三题好吧。
{
    int temp1;
    char temp2;

   for(int i=0;i<16;i++)
   {
       temp2=s1->id[i];
       s1->id[i]=s2->id[i];
       s2->id[i]=temp2;

      
   }
    temp1=s2->total;
       s2->total=s1->total;
       s1->total=temp1;
    
       temp1=s2->ce;
       s2->ce=s1->ce;
       s1->ce=temp1;
    
       temp1=s2->ws;
       s2->ws=s1->ws;
       s1->ws=temp1;
}

  
